•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
이 문서는 분류가 되어 있지 않습니다. 분류:분류에서 적절한 분류를 찾아 문서를 분류해주세요!

Rust

러스트
파일:rust-lang-logo-black.svg

공개일
2012년

최초 개발자
그레이던 호어

개발
모질라 재단 → 러스트 재단

라이선스
MIT / Apache 2.0

1. 개요2. 특징3. 팁

1. 개요 [편집]

러스트는 안전성, 성능, 동시성을 핵심 가치로 삼는 시스템 프로그래밍 언어이다. 기존 C/C++의 대안으로 등장했으며, 메모리 안전성을 컴파일 타임에 보장하면서도, 런타임 비용을 최소화하는 것을 목표로 한다. 이로써 OS, 브라우저 엔진, 게임, WASM, 임베디드 등 성능이 중요한 분야에서 각광받고 있다.

C언어보다 느리다

2. 특징 [편집]

소유권(Ownership) 시스템
러스트는 소유권과 빌림(Borrowing) 개념을 통해 런타임 없이 메모리 안전성을 보장한다.

무비용 추상화
고수준 문법을 제공하면서도 컴파일러가 최적화를 수행하여 런타임 성능을 희생하지 않는다.

풍부한 매크로
macro_rules!, proc_macro 등 다양한 매크로 확장 기능을 제공한다.

크로스 플랫폼
리눅스, 윈도우, macOS는 물론, WASM, 임베디드 환경 등 다양한 플랫폼으로의 빌드를 쉽게 할 수 있다.

패키지 관리자 cargo
빌드, 의존성 관리, 배포가 일관되게 이뤄진다.

3. [편집]

기존 Option 타입을 다룰 때는 이와 같이 들여쓰기가 깊어지기 쉽다.
fn example(opt: Option<i32>) {
    if let Some(val) = opt {
        println!("{val}");
    } else {
        return;
    }
}

아래처럼 some_or_return! 매크로를 사용하면, 한 줄로 간결하게 표현할 수 있다.
macro_rules! some_or_return {
    ($e:expr) => {
        if let Some(v) = $e { v } else { return };
    };
}

fn example(opt: Option<i32>) {
    let val = some_or_return!(opt);
    println!("{val}");
}